package com.lagou.edu.annotation;

import java.lang.annotation.*;

/**
 * @Description 自定义类注解
 * ElementType.CONSTRUCTOR  作用于构造器
 * ElementType.FIELD  作用于域/属性
 * ElementType.LOCAL_VARIABLE  用于描述局部变量
 * ElementType.METHOD  作用于方法
 * ElementType.PACKAGE   用于描述包
 * ElementType.PARAMETER   用于描述参数
 * ElementType.TYPE   用于描述类、接口(包括注解类型) 或enum声明，最常用
 * @Autowired的注解使用范围是FIELD:用于描述域
 * @Service和@Transactional的注解使用范围是TYPE:用于描述类
 */
@Documented    //定义可以被文档工具文档化
@Retention(RetentionPolicy.RUNTIME)//声明周期为runtime，运行时可以通过反射拿到
@Target(ElementType.FIELD)//注解修饰范围为---域
public @interface ZdyAutowired {
    boolean required() default true;
}

